package de.fhaugsburg.games.boardgames.connect4.application;

import de.fhaugsburg.games.boardgames.PlayerMode;
import de.fhaugsburg.games.boardgames.connect4.Connect4Board;
import de.fhaugsburg.games.boardgames.connect4.Connect4Engine;
import de.fhaugsburg.games.boardgames.connect4.consoleui.BoardView;
import de.fhaugsburg.games.boardgames.connect4.consoleui.CommandProcessor;
import de.fhaugsburg.games.boardgames.connect4.strategy.RandomRobot;

/**
 * the launcher class for Connect4.
 * 
 * @author r4smus
 * 
 */
public class Connect4Launcher {

	/**
	 * the main method for the game Connect4, the main objects are instantiate
	 * here and several parameter can be changed, such as the board size.
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Connect4Board board = new Connect4Board(8, 8);
		Connect4Engine engine = new Connect4Engine(board, PlayerMode.MULTI);
		RandomRobot robot = new RandomRobot(engine);

		BoardView boardView = new BoardView(board);

		CommandProcessor commandProc = new CommandProcessor(engine, boardView, robot);

		commandProc.process();

	}

}
